package com.fy.tt.constant;

/**
 * 按模块划分的枚举常量定义类
 * <br/><b>使用枚举常量的好处是防止数据库值变化后, 对外的值也要跟随改动导致影响很大, 同时方便阅读</b>
 */
public class TemplateConstants {

	/**
	 *   枚举常量
	 */
	public enum SomeConstant {
		
		/**
		 * 枚举常量1
		 */
		ENUM_1(0),
		
		/**
		 * 枚举常量2
		 */
		ENUM_2(1);
		
		private final Integer value;
		
		private SomeConstant(Integer value) {
			this.value = value;
		}
		
		public Integer value() {
			return value;
		}
		
		public static SomeConstant valueOf(Integer value) {
			for(SomeConstant item : SomeConstant.values()) {
				if(item.value.equals(value)) {
					return item;
				}
			}
			throw new IllegalArgumentException(String.format("[%s]中根据常量值[%s]找不到对应的枚举常量",
					SomeConstant.class.getName(), value));
		}
	}
}
